package reflect.annotations;

import javax.xml.bind.Element;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;

/*
java 提供的注解
@target  用于标注我们定义的注解可以被运用在哪些位置
具体位置有elelment Type定义，常见的位置：
    elementType.TYPE:当前注解可以被应用在类上，接口上
    elementType.METHOD注解应用在方法上
    elementType.CONSTRUCTOR注解应用在构造器上
    elementType.FIELD注解应用在属性上
Retention(RetentionPolicy.RUNTIME)
@Retention(RetentionPolicy.CLASS)
@Retention(RetentionPolicy.SOURCE) 注解进保留在源码中，编译后就被舍弃了
 */
//@Target({ElementType.CONSTRUCTOR, ElementType.METHOD,ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface AutoRunClass {
}
